본문으로 건너뛰기

01장 인프라 아키텍처를 살펴보자

1. IT 인프라 아키텍쳐란 무엇일까?

  • 인프라는 기반이라는 뜻으로, 복잡한 구조를 가지지만 전문가에 의해 관리되고 있어서, 사용자는 그 구조를 이해하지 않고도 간단히 사용할 수 있다.

  • 아키텍쳐는 구조라는 뜻으로, 사물을 구성하는 부분이나 요소의 짜임새를 말한다.

  • IT 인프라 아키텍쳐는 IT 인프라의 구조를 말하며 다른 목적을 가지고 사용되더라도, IT 인프라 위에서 동작하고 있다.


2. 집약형과 분할형 아키텍쳐

1. 집약형 아키텍처

높은 성능의 거대한 컴퓨터에서 모든 처리를 한다. 복수의 서로 다른 업무를 동시에 처리하며 하나의 처리에 많은 용량이 사용되더라도 다른 처리에 영향을 주지 않아 안정성이 높다. 많은 기업에서 사용하고 있으며, 비용이 비싸고 확장성에 한계가 있다.


2. 분할형 아키텍처

여러 대의 작은 컴퓨터에서 분할 처리한다. 고장이 나더라도 쉽게 교체 가능하며, 컴퓨터를 추가해 서버를 확장할 수 있다. 서버가 늘어날수록 운영 구조가 복잡해지고 망가졌을 때 영향 범위를 최소화 해야 한다.

  • 분할형 아키텍쳐에서 컴퓨터는 서버를 의미하고, 컴퓨터 자체는 물리 서버, 연산과 요청을 담당하는 소프트웨어는 웹 서버이다.

3. 수직 분할형 아키텍쳐

1. 클라이언트-서버형 아키텍처

소프트웨어를 컴퓨터에 설치해 클라이언트 측에서 요청을 처리한다. 데이터 입출력 기반의 시스템 사용시 사용되며 처리당 부하가 낮다. 버그 수정이나 기능 추가 이슈로 소프트웨어의 정기적인 업데이트가 필요해 확장성에 한계가 있다.


2. 3계층형 아키텍처

클라이언트-서버형 아키텍쳐를 발전시켜 ‘프레젠테이션 계층’, ‘애플리케이션 계층’, ‘데이터 계층’의 3층 구조로 분할한다. 구조가 복잡해지지만 특정 서버에 부하가 집중되는 문제를 해결할 수 있고, 사용자는 웹 브라우저만 필요하기 때문에 업데이트가 필요없다.


4. 수평 분할형 아키텍쳐

1. 단순 수평 분할형 아키텍처

‘Sharding(샤딩)’이나 ‘Partitioning(파티셔닝)’이라고 불리며, 같은 서버를 분할해서 전체 처리 성능을 향상시킨다. 각 서버마다 포함하고 있는 데이터가 다르기 때문에 데이터를 일원화 시켜줘야 한다. 공장 같이 독립된 운영을 하고있는 지역에서 사용한다.


2. 공유형 아키텍처

단순 분할과 다르게 일부 계층에서 데이터 동기처리가 일어나 일원화 작업이 필요없어진다. 본사가 다른 지점의 데이터를 참조할 수 있다는 장점이 있다.


5. 지리 분할형 아키텍쳐


1. 스탠바이형 아키텍처

컴퓨터를 두 대 이상 준비해 하나가 고장나면 가동 중인 소프트웨어를 다른 한 대로 옮겨서 운영하는 방식이다. 고장나기 전에는 다른 컴퓨터는 사용하지 않는 상태이기 때문에 교차적으로 사용한다.


2. 재해 대책형 아키텍처

특정 지역의 서버를 사용할 수 없는 상태가 되었을 때 대비할 수 있게 별도의 환경을 구축하는 방식이다. 애플리케이션과 데이터를 매번 최신화 시켜줘야 하기 때문에 비용 측면을 고려해야 한다.

후기

펼치기
  1. 좋았던 점: 복잡할 수도 있는 내용을 정확한 예시로 알기 쉽게 전달한다.

  2. 배운 점: IT 인프라 아키텍쳐의 종류와 특징에 대해 알게 되었다.

  3. 어려웠던 점: 컴퓨터를 잘 알고 있다고 생각했는데 부품과는 무관하게 IT 인프라 아키텍쳐 협업의 형태를 구성하는 것이었다.

  4. 향후 계획: CS 기초 강의와 병행하며 기본 지식을 늘려나갈 예정이다.